"""
@作者 = "陈诗"
@email = 3168157154@qq.com
@creative_time = 2025/10/31 15:35
"""


class Npc:  # 父类
    def __init__(self, name, hp):
        self.name = name
        self.hp = hp
        self.skills = {}  # 储存skills_name为key,skill_damage为value

    def skill(self, skill_name, skill_damage):  # 技能字典
        self.skills[skill_name] = skill_damage  # 作为键值对使用

    def attack(self, skill_name, target):  # 攻击
        target.hp -= self.skills[skill_name]  # 目标现血量 = 原血量 - 技能伤害
        return print(f"{self.name}使用技能'{skill_name}'对{target.name}造成了{self.skills[skill_name]}点伤害!")

    def alive(self):
        return self.hp > 0  # 布尔值判断,判断角色是否存活.在game.py中会用到while进行判断,若死亡则循环结束
# 所以在后续使用alive方法时必须前置循环条件判断
